/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/*Pacote Baralho */
package Sueca;

import java.util.Random;

/**
 *
 * @author Carolina
 */
public class Baralho {

    private final Integer num_cartas = 40;

    private Carta[] m_baralho;

    public Baralho(){
        m_baralho = new Carta[num_cartas];
    }

    public void setBaralho(Carta[] baralho){
        m_baralho = baralho;
    }

    public Carta[] getBaralho(){
        return m_baralho;
    }

    public void iniciarBaralho() {
        // TODO code application logic here

        

        //carrega os naipes
	String np[] = new String[4];

        np[0] = ("Ouro");
        np[1] = ("Paus");
        np[2] = ("Copas");
        np[3] = ("Espadas");

        //carrega os valores
        String vl[] = new String[10];

        vl[0] = ("dois");
        vl[1] = ("tres");
        vl[2] = ("quatro");
        vl[3] = ("cinco");
        vl[4] = ("seis");
        vl[5] = ("sete");
        vl[6] = ("valete");
        vl[7] = ("dama");
        vl[8] = ("rei");
        vl[9] = ("as");

        Integer cartas = 0;

        for (int i=0; i < 4; i++) {
            for (int j=0; j < 10; j++){

                if (j<5){
                    m_baralho[cartas] = new Carta(vl[j], np[i], 0);
                }else if (j==6){
                    m_baralho[cartas] = new Carta(vl[j], np[i], 3);
                }else if(j==7){
                    m_baralho[cartas] = new Carta(vl[j], np[i], 2);
                }else if(j==8){
                    m_baralho[cartas] = new Carta(vl[j], np[i], 4);
                }else if(j==9){
                    m_baralho[cartas] = new Carta(vl[j], np[i], 11);
                }else{
                    m_baralho[cartas] = new Carta(vl[j], np[i], 10);
                }
                cartas++;
            }
        }
        for (int k = 0; k < 40; k++){
            m_baralho[k].SetId(k);
        }

    }

    public void embaralhar(){

        Random numerosRandomicos = new Random();
        Integer random;
        Carta crt = new Carta();

        for (int i = 0; i<40; i++){
            random = numerosRandomicos.nextInt(40);
            crt = m_baralho[i];
            m_baralho[i] = m_baralho[random];
            m_baralho[random] = crt;
	}
    }

    public void distribuirCartas(Integer ordem, Jogador jog){

        Carta cartasRodada[] = new Carta[10];

        for (int i = 0; i <10; i++){
            cartasRodada[i] = m_baralho[ordem + i];
            m_baralho[ordem + i] = null;
        }
        jog.setJogo(cartasRodada);
    }

    /**
    public Carta escolherTrunfo(Carta[] baralho, Integer opcao){

        Carta trunfo;

        //Opcao 1 o jogador escolheu pegar a carta de cima do bolo
        if (opcao == 1){
            return trunfo = baralho[0];
        }else{
            //senão, Opcao 2 o jogador escolehu pegar a ultima carta do bolo
            return trunfo = baralho[num_cartas - 1];
        }

    }**/

}
